package maven.demo1;

/**
 *  抽象类:
 *  特点:
 *  1. 抽象类除了不能实例化对象之外，类的其它功能依然存在，成员变量、成员方法和构造方法的访问方式和普通类一样。
 *  2. 由于抽象类不能实例化对象，所以抽象类必须被继承，才能被使用。也是因为这个原因，通常在设计阶段决定要不要设计抽象类。
 *  3. 在Java中抽象类表示的是一种继承关系，一个类只能继承一个抽象类，而一个类却可以实现多个接口。
 *  4. 如果一个类继承于一个抽象类，则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法，则必须将子类也定义为为abstract类。
 *  使用场景:
 *  1. 父类知道子类的方法，但是无法知道子类的实现方式
 *  2. 父类抽象子类的公共方法和特征，避免子类设计的重复和随意
 * */

// 抽象类的声明：使用 abstract 关键字
public abstract class Telphone {
    public abstract void call(); // 抽象方法没有方法的内容，以分号结束
    public abstract void message();
}
